Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- STRETCHING GUIDE FOR PROGRAMMERS



  Preprocessor magic:Default Arguments in C

This post is for programmers who like C or for one reason or another can't use anything else but C in one of their projects. The advantages of having default arguments is not something that needs convincing. It's just very nice and convenient to have them. C++ offers the ability to define them but C under the C99 standard has no way to allow it. In this post I will detail two ways I know of implementing default arguments in C. If a reader happens to know additional ways please share in ...

   C,Preprocessor,Default arguments     2012-02-19 06:17:04

  Don't write on the whiteboard

I recently interviewed at a major technology company. I won't mention the name because, honestly, I can't remember whether I signed an NDA, much less how strong it was.I did well. Mostly because of luck. I normally step over myself when I interview. I guess I've improved over the years. Here are a few tips to ace your own interview.1. Don't write on the whiteboardWhen I interviewed at Palantir around 5 years ago, I had a lot of trouble with this. Yes, I knew next to nothing about compu...

   Interview,Preparation,Whiteboard,Note,Python     2012-01-11 11:31:32

  Programming Achievements: How to Level Up as a Developer

How does a good developer become a great developer?Forget greatness for a moment: How does a decent developer become a good developer?There is no definitive path from Step 1 to Step n. Heck, it's not even clear what Step n is. And as logically-minded developer types, the lack of a well-defined route can make for a daunting journey from novice to master.I've spent a fair bit of time over the last few years bumping up against this conundrum. What's next? How do I go from being a goo...

   Good developer,Great developer,Comparison,Knowledge,Skill,Platform     2011-11-09 02:12:58

  A journey to investigate a goroutine leakage case

In Go, creating goroutines is straightforward, but improper usage may result in a large number of goroutines unable to terminate, leading to resource leakage and memory leaks over time. The key to avoiding goroutine leaks is to manage the lifecycle of goroutines properly. By exporting runtime metrics and utilizing pprof, one can detect and resolve goroutine leakage issues. This post will go through one real case encountered by the author. The author maintains a service that connects to a targe...

   TIMEOUT,SSH,GUIDE,DEBUG,LEAK,GOROUTINE,PPROF,GOLANG     2024-03-16 11:00:23

  Prototypes in JavaScript

Following on from his previous article, David Chisnall explores JavaScript as an example of prototype-based object orientation. In this article, he shows how it's possible to implement more complex object models on top of this simple abstraction.My previous article, Prototypes and Object Orientation, considered the differences between class-based and prototype-based object orientation. In this article, we'll look in a bit more detail at the workings of the JavaScript object model, since it'...

   JavaScript,Prototype,Object oriented,Obj     2011-09-02 11:44:12

  A Month With Scala

Although I’ve played around with Scala for the few months, these efforts largely involved simple scripts and casual reading. It wasn’t until last month that the opportunity to use Scala in a large scale project finally arose and I dove right in. The project was a typical REST based web service built on top of Amazon’s Elastic Beanstalk, SimpleDB, S3 and Redis*. First off let’s talk about why I chose Scala in the first place. After spending a good deal of my las...

   Scala,Functional,OOP,Java,Iteration     2011-12-10 06:03:23

  Dart is to JavaScript as C# is to C++

Given the background of Lars Bak, the Google engineer whose V8 JavaScript interpreter upended Firefox's claim on speed, it was reasonable to suspect Google's new Web development language might look a lot like Smalltalk. But that might have taken the Web in a strange and different direction. Today, on the day of a Web developers' conference in Denmark, Google and members of the Chromium open source development team raised the curtain on Dart, the company's bid for a new and somewhat more str...

   Dart,Google,JavaScript,Virtual Machine,Chromium     2011-10-21 08:40:09

  What Can We Learn From Dennis Ritchie?

As we noted earlier this week, one of the founding fathers of UNIX and the creator of C, Dennis Ritchie, passed away last weekend. While I feel that many in computer science and related fields knew of Ritchie’s importance to the growth and development of, well, everything to do with computing, I think it’s valuable to look back at his accomplishments and place him high in the CS pantheon already populated by Lovelace, Turing, and (although this crowing will be controversial, at lea...

   C,Father,Dennis Ritchie,Death,Father of C,UNIX     2011-10-17 10:12:02

  How to choose a jQuery plug-in?

jQuery plug-in provides a good way to save time and simplify the development, programmers don't need to write each component from scratch. However, the plug-in will also be a destabilizing factor in your code library. A plug-in saves countless development time, but a poor quality plug-in will cost more than the actual time to write your own component from scratch. Luckily, usually you have many pls to choose from, but even if you have only one plug-in, you also need to know whether it's worth us...

   jQuery, plug-in     2012-10-27 03:51:40

  Performance is a Feature

We've always put a heavy emphasis on performance at Stack Overflow and Stack Exchange. Not just because we're performance wonks (guilty!), but because we think speed is a competitive advantage. There's plenty of experimental data proving that the slower your website loads and displays, the less people will use it. [Google found that] the page with 10 results took 0.4 seconds to generate. The page with 30 results took 0.9 seconds. Half a second delay caused a 20% drop in traffic. Half a seco...

   Website,Perfomance,Optimization     2011-07-02 01:52:12